//  class CLs{
//      constructor(id){
//              this.id=id
//      }
//  }
//  const getCLs=(function(){
//      let id = 0
//      return function(){
//          if(new.target!==getCLs){
//             console.log('错误');
//          }else{
//            id+=1
//            return  new CLs(id)
          
//          }
//       }
//      // return function(){
//      //     id+=1
     
//      //   return  new CLs(id)
//      // }
//  })()
//  let a=  new getCLs()

//  console.log( a.__proto__constructor);
//  let b=new getCLs()
//  console.log(b);

// const getCLs=function(){
//     if(!(this instanceof getCLs)){
//         console.log('错误');
//     }else{
//         this.id=++getCLs.id
//     }
// }
// getCLs.id=0
// getCLs.prototype.a='xxx'

const Cls=(function(){
    let id=0;
    return function(){
        if(!(this instanceof Cls)){
            console.log('错误');
        }else{
            let result=Object.create(Cls.prototype)
            result.id=++id
            return result
        }
    }
    
})()
Cls.prototype.a='xxx'

// function CLs2(id){
   
//     this.id=id
// }
let a= new Cls()
console.dir(a);
let b= new Cls()
console.dir(b);
console.dir(b.a);
console.log(b.__proto__);

